<?php

namespace App\Console\Dispatch;


use App\Service\BaiduNlp;
use App\Service\Collect\Jrj as Service;
use Illuminate\Console\Command;


class Jiemian extends Base
{
    /**
     * 采集快讯
     *
     * 参数与选项的区别
     *      在执行命令时，参数必须严格按定义时的顺序输入，不需输入参数名，只需输入参数的值即可。
     *      输入选项则必须带选项名，且选项名前须加 -- 前缀（选项简写字母前加 -），选项可按任意顺序输入
     */

    // sudo -u root php /www/wwwroot/shenlanhui/laravel/artisan command:dispatch-jiemian
    // sudo -u root php www/wwwroot/slh/laravel.test/artisan command:dispatch-jiemian
    //  php artisan command:dispatch-jiemian
    // 请求 以及参数
    // protected $signature = 'command:name {param1} {param2}';  // 必填参数
    // protected $signature = 'command:name {参数名?} {参数名=默认值} {参数名? : 参数说明}';  // 可选参数
    // protected $signature = 'command:name {--选项名} {--选项名=} {--选项名=默认值} {--简写字母|选项名} {--选项名 : 选项说明}';  // 选项

    protected $signature   = 'command:dispatch-jiemian';
    protected $description = '采集界面新闻';

    // 执行
    public function handle()
    {
        // 采集科技
        // https://www.jiemian.com/lists/1323kb.html
        // https://papi.jiemian.com/page/api/kuaixun/getlistmore?cid=1323kb&start_time=1730094504&page=2&tagid=1323
        //  cid: 1323kb
        //  start_time: 1730094504  时间戳，第一页为当前时间戳，后面每一页为最后一条记录的时间戳
        //  page: 2
        //  tagid: 1323


        //采集科技：内容和时间
        //  start_time: 时间戳，第一页为当前时间戳，后面每一页为最后一条记录的时间戳  这里只采集一页
        $url = 'https://papi.jiemian.com/page/api/kuaixun/getlistmore';
        $get = ['cid' => '1323kb', 'start_time' => time() - 10, 'page' => '1', 'tagid' => '1323',];
        $ret = $this->curlData($url, 'get', $get);
        $ret = json_decode($ret, true);
        if($ret["code"] != "0"){
            return $this->showError('采集错误！');
        }


        // 采集展示
        var_dump($ret);

        // 如果没有采集到数据
        if(empty($ret["result"])){
            return $this->showError('没有采集到数据！');
        }

        // 保存到数据库
        $filter = ["科创板日报", "环球", "详情>>", ">>", '华尔街见闻早餐', '早间要闻汇总'];
        $res    = $this->saveLists($ret["result"]["list"], $filter);


        return $this->showMsg('采集完成！');
    }

    // 保存
    protected function saveLists($list, $filter)
    {
        $time = time();
        foreach($list as $_row){
            // 过滤那种带国家图片的快讯（那种图片就是国家国旗，快讯字数也很少）
            // 具体不知道怎么过滤，这是个找到的，比较明细区别的字段
            /*if($_row['is_calendar']){
                continue;
            }*/

            // 是否重要
            /*$_row["is_major"] = "0";
            if($_row["score"] == "2"){
                $_row["is_major"] = "1";
            }*/


            // 保存
            $this->saveRow($_row, $filter);

            // 获取时间 用于翻页
            $time = min($time, $_row['publishtime']);

        } // 循环采集结束

        return $time;
    }

}
